The Internet is made of a combination of physical networks connected together by internetworking devices such as routers and gateways. Recent years have seen a vast increase in the variety and amount of content accessible on the Internet. However, as the traffic and file sizes downloaded from the Internet grow, the protocols underlying the operation of the Internet are becoming increasingly limiting. Referring to FIG. 1, let the Internet 1 comprise routers R1, R2, R3 and R4 connected by transmission lines L1, L2, L3, L4 and L5. Let individual computers (hosts) D1 and D2 be connected to the Internet 1 through routers R1 and R4 respectively. Similarly, let a local area network (LAN) 2 comprise hosts D3 to D6 connected to a LAN switch S, which in turn is connected to the Internet through router R2.
Each host and router on a network is recognized by its logical address (e.g. an IP address), which encodes its network number and host number. Logical addresses are Internet work addresses whose jurisdiction is universal. However, traffic must pass through physical networks to reach a host. At the physical level, hosts and routers are recognized by their physical addresses. A physical address is a local address whose jurisdiction is a local network. A physical address should be unique locally, but not necessarily universally. A physical address is usually (but not always) implemented in hardware. Examples of physical addresses are 48-bit MAC addresses (in Ethernet) which are imprinted on a network interface card (NIC) installed in a host or router.
In a typical scenario, a host generates a message (e.g. a request or response) for transmission on the Internet 1. The message is processed by a transport layer, which adds a header and passes the resulting packet to a network layer. The network layer adds its own header (including the logical addresses of the source and destination computers) to form a network layer packet (e.g. an IP packet). The packet is then sent to a data link layer, which adds its own header (comprising the physical addresses of the source and destination hosts) and checksum and passes the resulting frame to a physical layer at which point the host (e.g. D1) transmits the frame to the nearest router (e.g. R1).
On receipt of a frame, a router (e.g. R1) strips the header and trailer from the frame and passes the packet located in the frame's payload to routing software. The routing software uses the packet header to choose an output line from the current router to forward the packet to nearest router (e.g. R2, R3). This process is continued so that the packet is progressively moved through the Internet to the required destination. However, sometimes a message is too large to be encapsulated within a frame, in which case, the message must be fragmented and each piece thereof transported separately to its destination. Similarly, difficulties in synchronizing the operations at different layers leads to problems with inter alia unicast flooding (i.e. useless network traffic) which degrades the network performance.
For an Internet-based business (e.g. low-price airlines), a failure of any part of its computer system, for even a short period of time, will have a significant detrimental effect on its sales. In view of this, redundancy is being increasingly used to improve the reliability of a network by minimizing the impact of network faults. This usually involves duplicating routers, switches, and links to ensure continuity of service even during failures.
Layer 2 resiliency is achieved by providing multiple paths between different destinations. However, such multiple paths are prone to broadcast storms. The spanning-tree protocol (STP) was developed to prevent broadcast storms by breaking loops and rebuilding links between switches. However, even with improvements in this algorithm, it can still take 1-2 seconds for a topology to be modified.